Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
Los eventos de desenfoque de Cypress (cuando la entrada pierde el foco) no se activan con "cypress run --browser firefox" sin cabeza, pero funcionan con "cypress open"

Estoy probando una aplicación Angular con Cypress 10.4. Hay una prueba que falla solo con Firefox headless porque no se actualiza un elemento que debería contener una suma calculada. Las sumas se calculan y actualizan correctamente con Chrome encabezado/sin encabezado y Firefox encabezado.

El flujo de trabajo que funciona es el siguiente:

  1. Escriba un número para #Expense_meter_start
  2. Cuando #Expense_meter_start pierde el foco (evento borroso), se realiza una solicitud POST y la suma se actualiza en la interfaz de usuario
  3. Escriba un número para #Expense_meter_start
  4. Cuando #Expense_meter_start pierde el foco, se realiza una solicitud POST y la suma se actualiza en la interfaz de usuario
  5. El elemento que contiene la suma se puede afirmar

Cuando ejecuto "cypress open" y ejecuto la prueba con Firefox pasa la prueba. Puedo ver las solicitudes POST realizadas cuando los elementos pierden el foco.

Problema: cuando ejecuto "cypress run --browser firefox", la prueba falla cada vez. La suma no es la esperada. Lo que probé: -Tomé capturas de pantalla y validé que la suma no se actualice, incluso si los campos tienen valores correctos. -Creé una intercepción para las llamadas POST API. Las llamadas no ocurren con "cypress run --browser firefox". Pero las mismas llamadas están ocurriendo cuando se usa "ciprés abierto".

 describe("Fails on headless Firefox", () => { it("tests blur events", () => { cy.visit("/"); cy.intercept({ method: 'GET', url: '**/api/invoiceCalls/*' }).as("invoiceCalls"); // Click to create new Invoice cy.contains("New invoice").click(); // Save on dialog cy.get('.--primary > .button-container > .button-text').click(); cy.wait("@invoiceCalls"); // Type start amount cy.get("#Expense_meter_start").click().clear().type("200000"); // When this element loses focus aka blur event happens, POST call should happen // Type end amount cy.get("#Expense_meter_end").click().clear().type("200050"); // When this element loses focus aka blur event happens, POST call should happen // Type explanation of driving route cy.get("#Travel_expense_route").click().clear().type("Koti-Lentokenttä"); // Check that sum is calculated cy.get("#Sum").should('have.text','50'); // Click Save cy.get('#Save').click(); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Un par de sugerencias, Cypress tiene un comando .blur()

 // When this element loses focus aka blur event happens, POST call should happen cy.get("#Expense_meter_start") .click() .clear() .type("200000") .blur() // explicitly blur this element

o usa {enter}

 // When this element loses focus aka blur event happens, POST call should happen cy.get("#Expense_meter_start") .click() .clear() .type("200000{enter}") // blur this element with enter key
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda